home *** CD-ROM | disk | FTP | other *** search
- /*
- * $Id: aed.trm,v 1.7 1998/11/25 21:03:15 lhecking Exp $
- *
- */
-
- /* GNUPLOT - aed.trm */
-
- /*[
- * Copyright 1990 - 1993, 1998
- *
- * Permission to use, copy, and distribute this software and its
- * documentation for any purpose with or without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.
- *
- * Permission to modify the software is granted, but not the right to
- * distribute the complete modified source code. Modifications are to
- * be distributed as patches to the released version. Permission to
- * distribute binaries produced by compiling modified sources is granted,
- * provided you
- * 1. distribute the corresponding source modifications from the
- * released version in the form of a patch file along with the binaries,
- * 2. add special version identification to distinguish your version
- * in addition to the base release version number,
- * 3. provide your name and address as the primary contact for the
- * support of your modified version, and
- * 4. retain our contact information in regard to use of the base
- * software.
- * Permission to distribute the released version of the source code along
- * with corresponding source modifications in the form of a patch file is
- * granted with same provisions 2 through 4 for binary distributions.
- *
- * This software is provided "as is" without express or implied warranty
- * to the extent permitted by applicable law.
- ]*/
-
- /*
- * This file is included by ../term.c.
- *
- * This terminal driver supports:
- * AED terminals
- *
- * AUTHORS
- * Colin Kelley, Thomas Williams, Russell Lang
- *
- * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
- *
- */
-
- /*
- * adapted to the new terminal layout by Stefan Bodewig (Dez. 1995)
- */
-
- #include "driver.h"
-
- #ifdef TERM_REGISTER
- register_term(aed512)
- register_term(aed767)
- #endif
-
- #ifdef TERM_PROTO
- TERM_PUBLIC void AED_init __PROTO((void));
- TERM_PUBLIC void AED_graphics __PROTO((void));
- TERM_PUBLIC void AED_text __PROTO((void));
- TERM_PUBLIC void AED_linetype __PROTO((int linetype));
- TERM_PUBLIC void AED_move __PROTO((unsigned int x, unsigned int y));
- TERM_PUBLIC void AED_vector __PROTO((unsigned int x, unsigned int y));
- TERM_PUBLIC void AED_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
- TERM_PUBLIC void AED_reset __PROTO((void));
-
- #define AED_XMAX 768
- #define AED_YMAX 575
-
- #define AED_VCHAR 13
- #define AED_HCHAR 8
- #define AED_VTIC 8
- #define AED_HTIC 7
-
- /* slightly different for AED 512 */
- #define AED5_XMAX 512
- #endif
-
- #ifndef TERM_PROTO_ONLY
- #ifdef TERM_BODY
-
- #define AED_XLAST (AED_XMAX - 1)
- #define AED_YLAST (AED_YMAX - 1)
-
- #define AED5_XLAST (AED5_XMAX - 1)
-
- TERM_PUBLIC void AED_init()
- {
- fputs("\033SEN3DDDN.SEC.7.SCT.0.1.80.80.90.SBC.0.AAV2.MOV.0.9.CHR.0.FFD", gpoutfile);
- /* 2 3 4 5 7 6 1
- 1. Clear Screen
- 2. Set Encoding
- 3. Set Default Color
- 4. Set Backround Color Table Entry
- 5. Set Backround Color
- 6. Move to Bottom Lefthand Corner
- 7. Anti-Alias Vectors
- */
- }
-
-
- TERM_PUBLIC void AED_graphics()
- {
- fputs("\033FFD\033", gpoutfile);
- }
-
-
- TERM_PUBLIC void AED_text()
- {
- fputs("\033MOV.0.9.SEC.7.XXX", gpoutfile);
- }
-
-
-
- TERM_PUBLIC void AED_linetype(linetype)
- int linetype;
- {
- static int color[2 + 9] = { 7, 1, 6, 2, 3, 5, 1, 6, 2, 3, 5 };
- static int type[2 + 9] = { 85, 85, 255, 255, 255, 255, 255, 85, 85, 85, 85 };
-
- if (linetype >= 10)
- linetype %= 10;
-
- fprintf(gpoutfile, "\
- \033SLS%d.255.\
- \033SEC%d.",
- type[linetype + 2],
- color[linetype + 2]);
- }
-
-
-
- TERM_PUBLIC void AED_move(x, y)
- unsigned int x, y;
- {
- fprintf(gpoutfile, "\033MOV%d.%d.", x, y);
- }
-
-
- TERM_PUBLIC void AED_vector(x, y)
- unsigned int x, y;
- {
- fprintf(gpoutfile, "\033DVA%d.%d.", x, y);
- }
-
-
- TERM_PUBLIC void AED_put_text(x, y, str)
- unsigned int x, y;
- char str[];
- {
- AED_move(x, y - AED_VCHAR / 2 + 2);
- fprintf(gpoutfile, "\033XXX%s\033", str);
- }
-
-
- #define hxt (AED_HTIC/2)
- #define hyt (AED_VTIC/2)
-
- TERM_PUBLIC void AED_reset()
- {
- fputs("\033SCT0.1.0.0.0.SBC.0.FFD", gpoutfile);
- }
-
- #endif /* TERM_BODY */
-
- #ifdef TERM_TABLE
- TERM_TABLE_START(aed512_driver)
- "aed512", "AED 512 Terminal",
- AED5_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
- AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
- AED_text, null_scale, AED_graphics, AED_move, AED_vector,
- AED_linetype, AED_put_text, null_text_angle,
- null_justify_text, do_point, do_arrow, set_font_null
- TERM_TABLE_END(aed512_driver)
-
- #undef LAST_TERM
- #define LAST_TERM aed512_driver
-
- TERM_TABLE_START(aed767_driver)
- "aed767", "AED 767 Terminal",
- AED_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
- AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
- AED_text, null_scale, AED_graphics, AED_move, AED_vector,
- AED_linetype, AED_put_text, null_text_angle,
- null_justify_text, do_point, do_arrow, set_font_null
- TERM_TABLE_END(aed767_driver)
-
- #undef LAST_TERM
- #define LAST_TERM aed767_driver
-
- #endif /* TERM_TABLE */
- #endif /* TERM_PROTO_ONLY */
-
- #ifdef TERM_HELP
- START_HELP(aed767)
- "1 aed767",
- "?commands set terminal aed767",
- "?set terminal aed767",
- "?set term aed767",
- "?terminal aed767",
- "?term aed767",
- "?aed767",
- "?commands set terminal aed512",
- "?set terminal aed512",
- "?set term aed512",
- "?terminal aed512",
- "?term aed512",
- "?aed512",
- " The `aed512` and `aed767` terminal drivers support AED graphics terminals.",
- " The two drivers differ only in their horizontal ranges, which are 512 and",
- " 768 pixels, respectively. Their vertical range is 575 pixels. There are",
- " no options for these drivers."
- END_HELP(aed767)
- #endif
-